package ar.com.age.distribuidora.presentacion.controller;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.primefaces.context.RequestContext;

import ar.com.age.distribuidora.dominio.Proveedor;
import ar.com.age.distribuidora.presentacion.util.ServiceLocator;

@ManagedBean
@SessionScoped
public class EditarProveedorBean {

private Proveedor proveedorSeleccionado;  
    
    private Proveedor proveedorSeleccionadoDetalles;  


	public Proveedor getProveedorSeleccionado() {
		return proveedorSeleccionado;
	}

	public void setProveedorSeleccionado(Proveedor proveedorSeleccionado) {
		this.proveedorSeleccionado = proveedorSeleccionado;
	}

	public Proveedor getProveedorSeleccionadoDetalles() {
		return proveedorSeleccionadoDetalles;
	}

	public void setProveedorSeleccionadoDetalles(Proveedor proveedorSeleccionadoDetalles) {
		this.proveedorSeleccionadoDetalles = proveedorSeleccionadoDetalles;
	}
	
	public String actualizarProveedor() {
		
		ServiceLocator.getProveedorService().crearOEditar(this.proveedorSeleccionado);
		this.proveedorSeleccionado = null;
		
		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Proveedor",  "Proveedor editado con exito.");  
        
        FacesContext.getCurrentInstance().addMessage(null, message);  
		return "/mensajeExitoso";		
	}
	
	public String editarProveedor() {
		
		if (this.proveedorSeleccionado != null) {

			return "editarProveedor";

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}
	
	public String eliminarProveedor() {
		
		if (this.proveedorSeleccionado != null) {

			ServiceLocator.getProveedorService().eliminar(this.proveedorSeleccionado);
			return "/mensajeExitoso";

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}

}
